1. Field of the Invention
The present invention relates to an information processing apparatus, a broadcast receiving apparatus and a software start-up method.
2. Description of the Related Art
In digital broadcasting, in order to provide various services, additional information for an additional function such as two-way interactive function based on data broadcasting that distributes text information and still pictures and input information supplied from viewers are transmitted in addition to video information and audio information. Application programs to be used for realizing these services are designed so as to have higher functions and more various functions in comparison with conventional ones. Moreover, a typical broadcast receiving apparatus uses a general-purpose operating system (OS) which is adopted for executing application programs. Furthermore, in the present application, ‘software’ is used as a generic term for programs such as an OS and an application program, and ‘software data’ is used as electronic data describing software.
In an information processing apparatus which receives a broadcast, a CPU (Central Process Unit) loads software data corresponding to services unique to digital broadcasting into a working RAM (Random Access Memory) to execute software. There are two types of RAMs: a volatile RAM in which stored electronic data are lost when the power supply is interrupted, and a non-volatile RAM which keeps holding stored electronic data even when the power supply is interrupted. An example of volatile RAMs is a DRAM (Dynamic Random Access Memory), and an example of non-volatile RAMs is an MRAM (Magnetic Random Access Memory). Further, although an SRAM (Static Random Access Memory) is a volatile RAM, a combination of an SRAM and an auxiliary power source can be used as a non-volatile storage device. Likewise, although a DRAM is a volatile RAM, a combination of a DRAM and an auxiliary power source can be used as a non-volatile storage device.
The conventional information processing apparatus uses an inexpensive volatile RAM and an expensive non-volatile flash memory, and transfers software data from the flash memory to the volatile RAM when the apparatus is started up. However, since the transfer processing of the software data requires long time, the conventional information processing apparatus needs long waiting time from when the power of the apparatus is turned on until start-up processing is completed.
In order to resolve such a situation, for example, Japanese Patent Kokai Publication No. 2008-097105 (Patent Document 1) proposes an apparatus which is configured to store software data read by a CPU when the apparatus is started up in a start-up volatile RAM offering a high data transfer rate, and which is continuously supplied with power from an auxiliary power source, instead of in a flash memory offering a low data transfer rate, so that the CPU reads the software data from a volatile RAM for the start-up processing when the apparatus is started up.
Furthermore, a technique to reduce the transfer processing of the software data by using a non-volatile RAM instead of a volatile RAM is proposed as another solution. For example, Japanese Patent Kokai Publication No. 2005-011120 (Patent Document 2) proposes an apparatus that discriminates software data between data to be rewritten while the apparatus is in operation and data not to be rewritten while the apparatus is in operation, and stores the data to be rewritten while the apparatus is in operation in a non-volatile RAM, thereby reducing the transfer processing of the software data when the apparatus is started up.
However, the conventional information processing apparatus includes, in addition to the CPU and the RAM, a hardware device such as a DSP (Digital Signal Processer), which is operated by software other than software operated by the CPU. For this reason, the RAM stores various software data including software data for DSP. In general, the software data for DSP cannot be managed by the software operated by the CPU and how the software data for DSP is rewritten cannot be known through the software operated by the CPU. Accordingly, a conventional broadcast receiving apparatus is required to perform initialization sequence processing according to operation of a hardware device such as the DSP after the power of the apparatus is turned on. However, even if the software data for DSP is stored in a non-volatile RAM when the apparatus is started up, the software data for DSP is rewritten while the apparatus is in operation in some cases. If the software data for DSP stored in the non-volatile RAM has been rewritten, it cannot coordinate with the operation of the hardware device when the power of the apparatus is turned on, and the hardware device such as the DSP does not normally work when the power of the apparatus is turned on again after the power of the apparatus is turned off.
Moreover, as to the information processing apparatus which receives a broadcast such as a TV broadcast, a user sometimes unintentionally pulls out a power-source cable of the apparatus from a power-source plug. Because, even if a non-volatile RAM is used instead of a volatile RAM, data in the non-volatile RAM immediately before the power of the apparatus is interrupted is in a state where various processing are unfinished, there is a problem that software processing cannot be performed when the power of the apparatus is recovered. Further, there is another problem that: when the power of the apparatus is turned on again while the data in the non-volatile RAM immediately before the power of the apparatus is interrupted is in a state where processing which is performed on the assumption that hardware initialization processing is performed is unfinished, data of the non-volatile RAM does not agree with one before the power interruption because hardware initialization processing is not completed. Therefore, the apparatus cannot be started up by using content of the non-volatile RAM as it is.
If the problems described above occur, the transferring processing of the software data to a RAM from a storage device offering a low data transfer rate is performed as emergency recovery processing. The transfer processing takes much time, and besides, processing of determining to start recovery processing requires time. Accordingly, there is a problem that it takes much more time to start up the information processing apparatus.